The present disclosure relates to a program update system, a distribution device, and a program update method.
A control system using a plurality of control devices that perform control based on a computer program (hereinafter simply referred to as the “program”) is used in various fields. In the field of vehicle control, many ECUs (Electronic Control Units) serving as the control devices are disposed inside a vehicle, and each ECU is configured to transmit/receive information via a vehicle-mounted LAN (Local Area Network), and to execute a variety of types of processing in cooperation and coordination with other ECUs.
The program executed by a processor of each of the above-described control devices may need to be updated, for example, when an addition or change is made to the function of the control device, or when a defect of the program is to be eliminated. As the method for updating the program, it is common to use a method in which an update program received by a specific control device from the outside via wired or wireless communication is transmitted to a control device to be updated, and the program is updated in the control device that has received the update program.
But, when a method is adopted in which the update program is overwritten with a pre-update old program in the device to be updated in the case of updating the program in such a control system, interruption of the update may disable an execution using the old program, making it also impossible to resume the update.
In this respect, JP 2013-192092A discloses a vehicle-mounted device in which a simple communication program is stored in advance in a memory block that is excluded from reprogramming (update of a program), and simple communication based on the simple communication program is performed during reprogramming, thus enabling reprogramming to be resumed by the simple communication even when reprogramming is interrupted and the old program is destroyed.